package com.ynet.middleground.riskmanage.service.qichacha;

import java.util.List;

import javax.validation.Valid;

import com.ynet.core.common.ServiceResult;
import com.ynet.middleground.riskmanage.bean.qichacha.personcorrelation.*;
import com.ynet.middleground.riskmanage.dto.qichacha.personcorrelation.*;

/**
 * @InterfaceName PersonCorrelationService
 * @Description 企查查人员相关服务
 * @Author zhangyongbin
 * @Date 2020/8/7 9:40
 * @Version 1.0
 */
public interface PersonCorrelationService {

    /**
     * @Description 个人控股查询
     * @Param personHoldingCompanyReq 个人控股请求信息
     * @return com.ynet.core.common.ServiceResult<com.ynet.middleground.riskmanage.dto.qichacha.personcorrelation.PersonHoldingInfoDTO>
     **/
    ServiceResult<PersonHoldingInfoDTO>
        queryPersonHoldingCompanyInfo(@Valid PersonHoldingCompanyReq personHoldingCompanyReq);

    /**
     * @Description 个人自身风险条目数
     * @Date 13:46 2020/8/12
     * @Param [req] 个人自身风险条目数服务请求信息
     * @return com.ynet.core.common.ServiceResult<com.ynet.middleground.riskmanage.dto.qichacha.personcorrelation.PersonRiskCountDTO>
     **/
    // update by liwq on 2021-1-4, “个人自身风险条目数” 服务已合并到“个人自身风险扫描”服务
    // ServiceResult<PersonRiskCountDTO> getPersonalRiskCountInfo(@Valid PersonRiskCountReq req);

    /**
     * @Description 个人自身风险扫描
     * @Date 14:16 2020/8/12
     * @Param [req]个人自身风险扫描服务请求信息
     * @return com.ynet.core.common.ServiceResult<com.ynet.middleground.riskmanage.dto.qichacha.personcorrelation.PersonRiskCheckInfoDTO>
     **/
    ServiceResult<PersonRiskCheckInfoDTO> getPersonRiskCountCheckInfo(@Valid PersonRiskCountInfoReq req);

    /**
     * @Description 个人自身风险-失信被执行核查
     * @Author zhangyongbin
     * @Date 2020/8/19 9:27
     * @Param [req]个人自身风险-失信被执行核查请求信息
     * @return com.ynet.core.common.ServiceResult<com.ynet.middleground.riskmanage.dto.qichacha.personcorrelation.PersonSXCheckInfoDTO>
     **/
    ServiceResult<PersonSXCheckInfoDTO> getPersonSXCheckList(@Valid PersonRiskInfoReq req);

    /**
     * @Description 个人自身风险-被执行人核查
     * @Author zhangyongbin
     * @Date 2020/8/19 9:50
     * @Param [req]个人自身风险-被执行人核查请求信息
     * @return com.ynet.core.common.ServiceResult<com.ynet.middleground.riskmanage.dto.qichacha.personcorrelation.PersonZXCheckInfoDTO>
     **/
    ServiceResult<PersonZXCheckInfoDTO> getPersonZXCheckList(@Valid PersonRiskInfoReq req);

    /**
     * @Description 个人自身风险-限制高消费核查
     * @Author zhangyongbin
     * @Date 2020/8/19 9:50
     * @Param [req]个人自身风险-限制高消费核查请求信息
     * @return com.ynet.core.common.ServiceResult<com.ynet.middleground.riskmanage.dto.qichacha.personcorrelation.PersonSumptuaryCheckInfoDTO>
     **/
    ServiceResult<PersonSumptuaryCheckInfoDTO> getPersonSumptuaryCheckList(@Valid PersonRiskInfoReq req);

    /**
     * @Description 人员相关-个人失信信息核查
     * @Author lwq
     * @Date 2020/11/16 14:39
     * @Param [req]人员相关-个人失信信息核查请求类
     * @return com.ynet.core.common.ServiceResult<com.ynet.middleground.riskmanage.dto.qichacha.personcorrelation.PersonDishonestInfoDTO>
     **/
    //ServiceResult<PersonDishonestInfoDTO> getPersonDishonestInfoList(@Valid PersonDishonestInfoReq req);

    /**
     * @Description 人员相关-个人被执行人核查
     * @Author lwq
     * @Date 2020/11/16 14:39
     * @Param [req]人员相关-个人被执行人核查请求类
     * @return com.ynet.core.common.ServiceResult<com.ynet.middleground.riskmanage.dto.qichacha.personcorrelation.PersonExecutedInfoDTO>
     **/
    ServiceResult<PersonExecutedInfoDTO> getPersonExecutedInfoList(@Valid PersonExecutedInfoReq req);
}
